package com.foreknow.dao;

import com.foreknow.bean.*;

import java.util.List;

public interface UserMapper {
    /**
     * 根据id查询用户信息
     * @param id
     * @return
     */
    public User getUserById(int id);

    /**
     * 添加用户信息
     * @param
     */
    public void insertUser(User user);

    /**
     * 根据id删除用户信息
     * @param id
     */
    public void deleteUser(int id);

    /**
     * 根据多个条件查询用户的信息
     * @param userQueryInfo
     * @return
     */
    public List<UserInfo> getUserList(UserQueryInfo userQueryInfo);

    /**
     * 查询订单以及所关联的用户的信息
     * @return
     */
    public List<OrderUserInfo> getOrderUsers();

    /**
     * 查询订单以及所关联的用户的信息(一对一关联映射)
     * @return
     */
    public List<Orders> getOrderUsersResultMap();

    /**
     * 查询订单信息以及所关联的用户和明细(一对多)
     * @return
     */
    public List<Orders> getOrderDetailResultMap();

    /**
     * 查询用户所购买的商品 (M:M)
     * 用户与商品没有直接的关系  Orders--->User----->OrderDetail----->Items
     * @return
     */
    public List<User> getUserItemsResultMap();

}
